package com.xwh.article.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.xwh.core.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.ColumnDefault;

import java.io.Serializable;

/**
 * @author xwh
 **/
@Setter
@Getter
@Entity
@Table
public class SoftwareType extends BaseEntity implements Serializable {

    static final long serialVersionUID = 1L;

    @Id
    @TableId(type = IdType.ASSIGN_ID)
    @Column(length = 20)
    String softwareTypeId;

    @Column(length = 100)
    @Schema(name = "软件类型名称")
    String softwareTypeName;

    @Column(length = 200)
    @Schema(name = "软件类型描述")
    String softwareTypeDescription;

    @Column(length = 20)
    @Schema(name = "父级软件类型ID")
    @ColumnDefault("0")
    String parentSoftwareTypeId;

    @Column(length = 20)
    @Schema(name = "软件类型排序")
    @ColumnDefault("0")
    Integer softwareTypeOrder;

    @Column(length = 1)
    @Schema(name = "软件类型状态")
    @ColumnDefault("1")
    Boolean softwareTypeStatus;

}
